--[[--------
XWLUA模块：事件标志

事件标志使用位图来管理一组事件，位图中的每个位代表一个事件，
当一个或多个事件状态发生变化时，事件对应的位也会发生变化，并唤醒正在等待的线程。
线程唤醒后，就可从事件位图中获取事件的状态。

XWOS的事件标志：

+ 线程可以等待位图中的事件位被置 **1** ，也可以等待事件位被清 **0** 。
+ 线程可以等待位图中的事件位同时被置 **1** （事件与事件之间是逻辑 **与** 的关系），也可以等待其中任意一个位被置 **1** （事件与事件之间是逻辑 **或** 的关系）。
+ 线程可以等待位图中的事件位同时被清 **0** （事件与事件之间是逻辑 **与** 的关系），也可以等待其中任意一个位被清 **0** （事件与事件之间是逻辑 **或** 的关系）。
+ 线程可以选择是否 **消费** 事件。 **消费** 事件是指，当事件到来，线程被唤醒时，可以选择是否 **清除** 事件。
+ 线程可以等待事件标志位发生 **翻转** ， **翻转** 是指事件标志位由 **1** 变为 **0** ，或由 **0** 变为 **1** 。


@module xwos.sync.flg
]]

--[[--------
新建事件标志



@tparam number num 事件的数量

@treturn userdata 新的事件标志对象的强指针 `flgsp`

@usage
flg = xwos.flg.new(num) -- 创建事件标志
]]
function new(num)
end
